'use strict';
module.exports = app => {
  const { STRING, BOOLEAN } = app.Sequelize;

  const ArticleCategory = app.model.define('article_category', {
    name: {// 文章类别名称
      type: STRING, // VARCHAR(255)
      allowNull: false, // allowNull 默认为 true 不能为空设置为 false ,
      unique: true, // 唯一的 // unique 属性是创建唯一约束的简写.
      omment: '类别名称，唯一', // 注释
    },
    keywords: {
      type: STRING,
      omment: '关键词',
    },
    description: {
      type: STRING,
      omment: '描述',
    },
    status: {
      type: BOOLEAN, // 布尔
      allowNull: false,
      defaultValue: 1, // 设置默认值
      comment: '是否启用 1 true ｜ 0 false',
    },

  });
  // ArticleCategory.associate = () => {
  //   app.model.ArticleCategory.belongsToMany(app.model.Article, {
  //     as: 'articles',
  //     through: app.model.AssArticleCategory,
  //     foreignKey: 'category_id',
  //     otherKey: 'article_id',
  //   });
  // };

  ArticleCategory.associate = () => {

    // 文章分类里包含多篇文章 // 创建一个 一对多 关系, hasMany he belongsTo 关联一起使用;
    app.model.ArticleCategory.hasMany(app.model.Article, { as: 'articles', foreignKey: 'category_id' });
  };

  return ArticleCategory;
};
